b3bab6eb7985ee906df40414c5333de18ec98d8e,python/src/com/jetbrains/python/inspections/quickfix/PyDefaultArgumentQuickFix.java,PyDefaultArgumentQuickFix,applyFix,#Project#ProblemDescriptor#,53

Before Change


      PyIfStatement ifStatement = elementGenerator.createFromText(LanguageLevel.forElement(function), PyIfStatement.class,
                                                "if not " + defName + ":\n\t" + defName + " = " + defaultValue.getText());

      PyStatement firstStatement = list.getStatements()[0];
      PyStringLiteralExpression docString = function.getDocStringExpression();
      if (docString != null)
        list.addAfter(ifStatement, firstStatement);
      else
        list.addBefore(ifStatement, firstStatement);
      paramList.replace(elementGenerator.createFromText(LanguageLevel.forElement(defaultValue),
                                                                 PyFunction.class, str.toString()).getParameterList());
    }

After Change


      PyStatement firstStatement = statements.length > 0 ? statements[0] : null;
      PyFunction newFunction = elementGenerator.createFromText(LanguageLevel.forElement(function), PyFunction.class,
                                                               functionText.toString());
      if (firstStatement == null) {
        function.replace(newFunction);
      }
      else {
        final PyStatement ifStatement = newFunction.getStatementList().getStatements()[0];
        PyStringLiteralExpression docString = function.getDocStringExpression();
        if (docString != null)
          list.addAfter(ifStatement, firstStatement);
        else {
          list.addBefore(ifStatement, firstStatement);
        }
        paramList.replace(elementGenerator.createFromText(LanguageLevel.forElement(defaultValue),
                                                          PyFunction.class, functionText.toString()).getParameterList());